window.pageTools = window.pageTools || {};
(function () {
    function Login(isLogin, superViewSelector, eventListener) { 
        // 先设置属性
        this.isLogin = isLogin;
        this.superView = $(superViewSelector);
        this.eventListener = eventListener; // 修正了名称

        // 然后初始化
        this.init = function() { // 核心代码
            var buttonText = this.isLogin ? "登录" : "注册"; // 定义按钮文本
            var isShow = this.isLogin ? 'none' : 'block';
            this.dialog = $('<div class="dialog">\
            <button class="close-btn">&times;</button>\
            <div class="input-box">\
            <input type="text" placeholder="用户名">\
            <input type="password" placeholder="密码">\
            <input type="password" placeholder="确认密码" class="again-pwd">\
            <button class="btn">' + buttonText + '</button>\
            </div>\
            </div>');
            // 添加DOM到文档中
            this.superView.append(this.dialog);
            // 如果是登录则不显示确认密码框，如果是注册则显示
            $('.again-pwd').css('display', isShow);
            
            $(".btn").click(function () {
                this.dialog.remove(); // 清除dialog这个div中所有内容，包括自身
                this.dialog = null; // 垃圾回收处理
                if (this.eventListener) {
                    this.eventListener(); // 确保监听器存在
                }
            }.bind(this));

            // 单击“关闭”按钮时，清除上面创建的对话框DOM
            $(".close-btn").click(function () { // 修正了类名
                this.dialog.remove();
                this.dialog = null;
                if (this.eventListener) {
                    this.eventListener(); // 确保监听器存在
                }
            }.bind(this));
        };

        this.init(); // 初始化调用
    }
    pageTools.Login = Login;
})();
